✅(開発速度向上)sub agents使いでがあるか実験
claud codeのsubagentsとは関係ない
会話(介入)ができない。自律的に小さなタスクを実行して消滅するbotだと捉えるのが良い
探索的なタスクや大きなタスクには向いていなそう
利用イメージ
@claudeai: Subagents in Claude Code work like a coordinated team: one debugs, another tests, another refines. Each becomes an expert at its task, working in sequence to solve the problem at hand.
https://video.twimg.com/amplify_video/1971665714965573633/vid/avc1/1920x1080/Xuo9sZRQ5Z3RG_49.mp4#.mp4
Gemini 2.5 Pro.icon
独立したコンテキスト: 各サブエージェントは独自のコンテキストウィンドウを持っています。これにより、メインの会話のコンテキストを汚染することなく、特定のタスクに集中して深い分析や処理を行うことができます。
特化した能力: 「コードレビュアー」「デバッガー」「データベース設計者」のように、特定の役割に特化したシステムプロンプトとツールが設定されており、その分野で高いパフォーマンスを発揮します。
自律的な呼び出し: Claudeは会話の文脈を理解し、特定のタスクに最適なサブエージェントを自動的に判断して呼び出すことができます。もちろん、ユーザーが明示的に指名することも可能です。
$ /agents
でサブエージェントを作成できる
設定の例
code:code-reviewer.md
---
name: code-reviewer
description: コードの品質、セキュリティ、保守性をレビューする専門家。コードの記述または変更直後に積極的に使用してください (Use PROACTIVELY)。
tools:
- Read
- Grep
- Glob
- Bash
---
あなたはシニアコードレビュアーとして、高い水準のコード品質とセキュリティを保証する責任があります。呼び出された際のレビュー手順は以下の通りです。
1. git diff を実行して最近の変更を確認します。
2. 変更されたファイルに焦点を当て、レビューを直ちに開始します。
3. 以下のチェックリストに従ってフィードバックを提供してください。
- コードはシンプルで読みやすいか
- 適切なエラーハンドリングが実装されているか
- セキュリティ上の脆弱性(APIキーの露出など)はないか
呼び出す方法は2つあります。
自動呼び出し: Claudeがタスクの内容に応じて最適なサブエージェントを自動で選択し、処理を委任します。
明示的な呼び出し: プロンプト内でサブエージェントを名指しすることで、意図したエージェントにタスクを任せることができます。
@code-reviewer を使って、最新のコミット内容をレビューしてください。
公式に推奨されているベストプラクティスを紹介します。
単一責任の原則を貫く
各サブエージェントには、単一で明確な役割を与えましょう。「コードレビューも行い、テストも書き、ドキュメントも生成する」といった多機能なエージェントよりも、「コードレビュー専門」「テスト作成専門」のように分割する方が高い性能を発揮します
descriptionを具体的に記述する
descriptionフィールドは、Claudeがどのサブエージェントを呼び出すべきか判断するための重要な情報源です。どのような状況で、何をするエージェントなのかを具体的に記述しましょう。より積極的に呼び出してほしい場合は、use PROACTIVELY(積極的に使用)やMUST BE USED(必ず使用)といったキーワードを含めると効果的です。
システムプロンプトを詳細に作り込む
サブエージェントの性能はシステムプロンプトの質に大きく依存します。具体的な指示、良い例・悪い例、思考プロセス、制約条件などを詳しく記述することで、期待通りの振る舞いを引き出すことができます。
ツール権限を最小限に絞る
セキュリティと安定性のため、サブエージェントにはその役割に必要な最小限のツールのみを許可しましょう(Permission Hygiene)。例えば、コードレビューエージェントには書き込み(Write)権限は不要かもしれません。
コンテキストを大きく消費するタスクに利用するのが最も効果的
複雑な調査や複数ファイルにまたがるコード修正など、
サブエージェントは独立したコンテキストで起動するため、タスクによってはメインの会話セッションで処理した方が高速かつ低コストな場合があります。
ファイルの内容を読むだけの簡単なタスクなどは、必ずしもサブエージェントを呼び出す必要はありません。
作り方
/agentsコマンドに従っていく
claudeと一緒に作ることができる。便利〜。
紙のマニュアルは今までも人間はほとんど読んでいなかったが、これからはもっと読まなくなるなー「読まない方が早くて正確」な時代が来る可能性すらある。